home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dlarre.z / dlarre
Encoding:
Text File  |  2002-10-03  |  5.2 KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAARRRRRRRREEEE((((3333SSSS))))                                                          DDDDLLLLAAAARRRRRRRREEEE((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLARRE - the tridiagonal matrix T, DLARRE sets "small" off-diagonal
  10.      elements to zero, and for each unreduced block T_i, it finds (i) the
  11.      numbers sigma_i (ii) the base T_i - sigma_i I = L_i D_i L_i^T
  12.      representations and (iii) eigenvalues of each L_i D_i L_i^T
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE DLARRE( N, D, E, TOL, NSPLIT, ISPLIT, M, W, WOFF, GERSCH,
  16.                         WORK, INFO )
  17.  
  18.          INTEGER        INFO, M, N, NSPLIT
  19.  
  20.          DOUBLE         PRECISION TOL
  21.  
  22.          INTEGER        ISPLIT( * )
  23.  
  24.          DOUBLE         PRECISION D( * ), E( * ), GERSCH( * ), W( * ), WOFF( *
  25.                         ), WORK( * )
  26.  
  27. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  28.      These routines are part of the SCSL Scientific Library and can be loaded
  29.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  30.      directs the linker to use the multi-processor version of the library.
  31.  
  32.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  33.      4 bytes (32 bits). Another version of SCSL is available in which integers
  34.      are 8 bytes (64 bits).  This version allows the user access to larger
  35.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  36.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  37.      only one of the two versions; 4-byte integer and 8-byte integer library
  38.      calls cannot be mixed.
  39.  
  40. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  41.      Given the tridiagonal matrix T, DLARRE sets "small" off-diagonal elements
  42.      to zero, and for each unreduced block T_i, it finds (i) the numbers
  43.      sigma_i (ii) the base T_i - sigma_i I = L_i D_i L_i^T representations and
  44.      (iii) eigenvalues of each L_i D_i L_i^T. The representations and
  45.      eigenvalues found are then used by DSTEGR to compute the eigenvectors of
  46.      a symmetric tridiagonal matrix. Currently, the base representations are
  47.      limited to being positive or negative definite, and the eigenvalues of
  48.      the definite matrices are found by the dqds algorithm (subroutine
  49.      DLASQ2). As an added benefit, DLARRE also outputs the n Gerschgorin
  50.      intervals for each L_i D_i L_i^T.
  51.  
  52.  
  53. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  54.      N       (input) INTEGER
  55.              The order of the matrix.
  56.  
  57.      D       (input/output) DOUBLE PRECISION array, dimension (N)
  58.              On entry, the n diagonal elements of the tridiagonal matrix T.
  59.              On exit, the n diagonal elements of the diagonal matrices D_i.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAARRRRRRRREEEE((((3333SSSS))))                                                          DDDDLLLLAAAARRRRRRRREEEE((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      E       (input/output) DOUBLE PRECISION array, dimension (N)
  75.              On entry, the (n-1) subdiagonal elements of the tridiagonal
  76.              matrix T; E(N) need not be set.  On exit, the subdiagonal
  77.              elements of the unit bidiagonal matrices L_i.
  78.  
  79.      TOL     (input) DOUBLE PRECISION
  80.              The threshold for splitting. If on input |E(i)| < TOL, then the
  81.              matrix T is split into smaller blocks.
  82.  
  83.      NSPLIT  (input) INTEGER
  84.              The number of blocks T splits into. 1 <= NSPLIT <= N.
  85.  
  86.      ISPLIT  (output) INTEGER array, dimension (2*N)
  87.              The splitting points, at which T breaks up into submatrices.  The
  88.              first submatrix consists of rows/columns 1 to ISPLIT(1), the
  89.              second of rows/columns ISPLIT(1)+1 through ISPLIT(2), etc., and
  90.              the NSPLIT-th consists of rows/columns ISPLIT(NSPLIT-1)+1 through
  91.              ISPLIT(NSPLIT)=N.
  92.  
  93.      M       (output) INTEGER
  94.              The total number of eigenvalues (of all the L_i D_i L_i^T) found.
  95.  
  96.      W       (output) DOUBLE PRECISION array, dimension (N)
  97.              The first M elements contain the eigenvalues. The eigenvalues of
  98.              each of the blocks, L_i D_i L_i^T, are sorted in ascending order.
  99.  
  100.      WOFF    (output) DOUBLE PRECISION array, dimension (N)
  101.              The NSPLIT base points sigma_i.
  102.  
  103.      GERSCH  (output) DOUBLE PRECISION array, dimension (2*N)
  104.              The n Gerschgorin intervals.
  105.  
  106.      WORK    (input) DOUBLE PRECISION array, dimension (4*N???)
  107.              Workspace.
  108.  
  109.      INFO    (output) INTEGER
  110.              Output error code from DLASQ2
  111.  
  112. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  113.      Based on contributions by
  114.         Inderjit Dhillon, IBM Almaden, USA
  115.         Osni Marques, LBNL/NERSC, USA
  116.  
  117.  
  118. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  119.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  120.  
  121.      This man page is available only online.
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.